#include <stdio.h>
#include <signal.h>
#include <unistd.h>

void signal_handler(int signum) {
    printf("Signal %d received.\n", signum);
    printf("Start handling signal %d.\n", signum);
    sleep(10); // 模拟信号处理函数执行过程中的耗时操作
    printf("Finish handling signal %d.\n", signum);
}

int main() {
    signal(SIGINT, signal_handler); // 注册信号处理函数
    while (1) {
        // 循环等待信号
        sleep(1);
        printf("Sending SIGINT signal.\n");
        kill(getpid(), SIGINT); // 发送 SIGINT 信号
    }
    return 0;
}